﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace VkFileConvert
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string st ="яШяа JFIF  ` `  яб ®Exif  MM *    ‡i            ’†    z   ,    UNICODE  C R E A T O R :   g d - j p e g   v 1 . 0   ( u s i n g   I J G   J P E G   v 6 2 ) ,   q u a l i t y   =   8 5//////";
            byte[] str = Encoding.Default.GetBytes(st);
            openFileDialog1.ShowDialog();
            if (File.Exists(openFileDialog1.FileName))
            {
                FileStream f= File.Open(openFileDialog1.FileName, FileMode.Open);
                FileStream f1 = File.Open(openFileDialog1.FileName + ".jpg", FileMode.OpenOrCreate);
                f1.Write(str, 0, st.Length);
                byte b;
                progressBar1.Value = 0;
                do
                {
                    f1.WriteByte(Convert.ToByte(f.ReadByte()));
                    if ((Convert.ToDouble(f.Position) / f.Length) > ((progressBar1.Value + 1) / Convert.ToDouble(100)))
                    {
                        progressBar1.Value++;
                        progressBar1.Refresh();
                    }
                    
                }
               
                while (f.Position < f.Length); 
                progressBar1.Value=100;
                f.Close();
                f1.Close();
             
                //byte[] b = new byte[Convert.ToInt32(f.Length)];
                //f.Read(b,0,Convert.ToInt32(f.Length));
                //f1.Write(b, 0, Convert.ToInt32(b.Length));

                //File.WriteAllText(openFileDialog1.FileName + ".jpg","яШяа JFIF  ` `  яб ®Exif  MM *    ‡i            ’†    z   ,    UNICODE  C R E A T O R :   g d - j p e g   v 1 . 0   ( u s i n g   I J G   J P E G   v 6 2 ) ,   q u a l i t y   =   8 5//////" +File.ReadAllText(openFileDialog1.FileName),Encoding.ASCII);
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
           
        }

        private void label4_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (step2.Left > 12)
            {
                step2.Left-=5;
                step1.Left-=5;
            }
            else timer1.Enabled = false;
  
        }

        private void button3_Click(object sender, EventArgs e)
        {
            
        }

        private void button3_Click_1(object sender, EventArgs e)
        {
            step2.Left = Width+5;
            step2.Visible = true;
            timer1.Enabled = true;
        }

        private void button6_Click(object sender, EventArgs e)
        {
            
            string st = "яШяа JFIF  ` `  яб ®Exif  MM *    ‡i            ’†    z   ,    UNICODE  C R E A T O R :   g d - j p e g   v 1 . 0   ( u s i n g   I J G   J P E G   v 6 2 ) ,   q u a l i t y   =   8 5//////";
            byte[] str = Encoding.Default.GetBytes(st);
            openFileDialog1.ShowDialog();
            if (File.Exists(openFileDialog1.FileName))
            {progressBar1.Visible = true;
                FileStream f = File.Open(openFileDialog1.FileName, FileMode.Open);
                FileStream f1 = File.Open(openFileDialog1.FileName + ".jpg", FileMode.OpenOrCreate);
                f1.Write(str, 0, st.Length);
                byte b;
                progressBar1.Value = 0;
                do
                {
                    f1.WriteByte(Convert.ToByte(f.ReadByte()));
                    if ((Convert.ToDouble(f.Position) / f.Length) > ((progressBar1.Value + 1) / Convert.ToDouble(100)))
                    {
                        progressBar1.Value++;
                        progressBar1.Refresh();
                    }

                }

                while (f.Position < f.Length);
                progressBar1.Value = 100;
                f.Close();
                f1.Close();
                MessageBox.Show("В папке с исходным файлом создана файл с таким же названием но с расширеним jpg(картинка) которую можно зазрузить в докмунты vkontakte.ru","Конвертация завершена");
                progressBar1.Visible = false;
                timer2.Enabled = true;
                //byte[] b = new byte[Convert.ToInt32(f.Length)];
                //f.Read(b,0,Convert.ToInt32(f.Length));
                //f1.Write(b, 0, Convert.ToInt32(b.Length));

                //File.WriteAllText(openFileDialog1.FileName + ".jpg","яШяа JFIF  ` `  яб ®Exif  MM *    ‡i            ’†    z   ,    UNICODE  C R E A T O R :   g d - j p e g   v 1 . 0   ( u s i n g   I J G   J P E G   v 6 2 ) ,   q u a l i t y   =   8 5//////" +File.ReadAllText(openFileDialog1.FileName),Encoding.ASCII);
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            string st = "яШяа JFIF  ` `  яб ®Exif  MM *    ‡i            ’†    z   ,    UNICODE  C R E A T O R :   g d - j p e g   v 1 . 0   ( u s i n g   I J G   J P E G   v 6 2 ) ,   q u a l i t y   =   8 5//////";
            byte[] str = Encoding.Default.GetBytes(st);
            openFileDialog1.ShowDialog();
            if (File.Exists(openFileDialog1.FileName))
            {
                int i=1;
                /*string[] s =openFileDialog1.FileName.Split('\\');
                string p="";
                for (int j=1;j<s.Length;j++)
                    p+=s[j-1]+"\\";*/
                progressBar2.Visible = true;
                FileStream f = File.Open(openFileDialog1.FileName, FileMode.Open);
                FileStream f1 = File.Open(openFileDialog1.FileName + "part" + Convert.ToString(i) + ".jpg", FileMode.OpenOrCreate);
                f1.Write(str, 0, st.Length);
                byte b;
                progressBar2.Value = 0;
                do
                {
                    f1.WriteByte(Convert.ToByte(f.ReadByte()));
                    if ((Convert.ToDouble(f.Position) / f.Length) > ((progressBar2.Value + 1) / Convert.ToDouble(100)))
                    {
                        progressBar2.Value++;
                        progressBar2.Refresh();
                    }
                    if (f.Position > i*5000000)
                    {
                        i++;
                        f1.Close();
                        f1 = File.Open(openFileDialog1.FileName +"part" + Convert.ToString(i) + ".jpg", FileMode.OpenOrCreate);
                        f1.Write(str, 0, st.Length);
                    
                    }

                }

                while (f.Position < f.Length);
                progressBar1.Value = 100;
                f.Close();
                f1.Close();
                MessageBox.Show("В папке с исходным файлом созданы файлы с названием исходного файл + part1 part2 part3 и т.д. с расширеним jpg(картинка) которые можно зазрузить в докмунты vkontakte.ru", "Конвертация завершена");
                progressBar2.Visible = false;
                timer2.Enabled = true;
                //byte[] b = new byte[Convert.ToInt32(f.Length)];
                //f.Read(b,0,Convert.ToInt32(f.Length));
                //f1.Write(b, 0, Convert.ToInt32(b.Length));

                //File.WriteAllText(openFileDialog1.FileName + ".jpg","яШяа JFIF  ` `  яб ®Exif  MM *    ‡i            ’†    z   ,    UNICODE  C R E A T O R :   g d - j p e g   v 1 . 0   ( u s i n g   I J G   J P E G   v 6 2 ) ,   q u a l i t y   =   8 5//////" +File.ReadAllText(openFileDialog1.FileName),Encoding.ASCII);
            }

        }

        private void timer2_Tick(object sender, EventArgs e)
        {
            if (step1.Left <= 12)
            {
                step2.Left += 5;
                step1.Left += 5;
            }
            else timer2.Enabled = false;

        }

        private void button8_Click(object sender, EventArgs e)
        {
            string st = "яШяа JFIF  ` `  яб ®Exif  MM *    ‡i            ’†    z   ,    UNICODE  C R E A T O R :   g d - j p e g   v 1 . 0   ( u s i n g   I J G   J P E G   v 6 2 ) ,   q u a l i t y   =   8 5//////";
            byte[] str = Encoding.Default.GetBytes(st);
            openFileDialog2.ShowDialog();
            if (File.Exists(openFileDialog2.FileName))
            {
                progressBar3.Value = 0;
                progressBar3.Visible = true;
                FileStream f = File.Open(openFileDialog2.FileName, FileMode.Open);
                FileStream f1 = File.Open(openFileDialog2.FileName.Remove(openFileDialog2.FileName.Length - 4).Replace("_", "."), FileMode.OpenOrCreate);
                f.Position = str.Length;
                byte b;
                do
                {
                    f1.WriteByte(Convert.ToByte(f.ReadByte()));
                    if ((Convert.ToDouble(f.Position) / f.Length) > ((progressBar3.Value + 1) / Convert.ToDouble(100)))
                    {
                        progressBar3.Value++;
                        progressBar3.Refresh();
                    }

                }

                while (f.Position < f.Length);
                progressBar1.Value = 100;
                while (f.Position < f.Length) ;
                f.Close();
                f1.Close();
                MessageBox.Show("Исходный файл извлечен в ту же папку что и выбранный файл", "Конвертация завершена");
             
                progressBar3.Visible = false;
                timer3.Enabled = true;

            }
        }

        private void timer3_Tick(object sender, EventArgs e)
        {
            if (step1.Left <= 12)
            {
                step3.Left += 5;
                step1.Left += 5;
            }
            else timer3.Enabled = false;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            step3.Left = Width+5;
            step3.Visible = true;
            timer4.Enabled = true;
        }

        private void timer4_Tick(object sender, EventArgs e)
        {
            if (step3.Left > 12)
            {
                step3.Left -= 5;
                step1.Left -= 5;
            }
            else timer4.Enabled = false;
        }

        private void button7_Click(object sender, EventArgs e)
        {
            string st = "яШяа JFIF  ` `  яб ®Exif  MM *    ‡i            ’†    z   ,    UNICODE  C R E A T O R :   g d - j p e g   v 1 . 0   ( u s i n g   I J G   J P E G   v 6 2 ) ,   q u a l i t y   =   8 5//////";
            byte[] str = Encoding.Default.GetBytes(st);
            openFileDialog2.ShowDialog();
            if (File.Exists(openFileDialog2.FileName))
            {
                //openFileDialog2.FileNames.OrderBy(x => x);
                progressBar4.Value = 0;
                progressBar4.Visible = true;
                FileStream f  ;
                FileStream f1 = File.Open(openFileDialog2.FileName.Remove(openFileDialog2.FileNames[0].Length - 9).Replace("_", "."), FileMode.OpenOrCreate);
                
                byte b;
                foreach (string o in openFileDialog2.FileNames)
                {
                    f = File.Open(o, FileMode.Open);
                    f.Position = str.Length;
                do
                {

                    f1.WriteByte(Convert.ToByte(f.ReadByte()));
                    if ((Convert.ToDouble(f.Position) / f.Length) > ((progressBar4.Value + 1) / Convert.ToDouble(100)))
                    {
                        progressBar4.Value++;
                        progressBar4.Refresh();
                    }

                }

                while (f.Position < f.Length);
                progressBar4.Value = 100; 
                    f.Close();
                }
               
                f1.Close();
                MessageBox.Show("Исходный файл извлечен в ту же папку что и выбранный файл", "Конвертация завершена");

                progressBar4.Visible = false;
                timer3.Enabled = true;

            }
        }
    }
}
